#!/bin/bash

set -e

print_help() {
cat << USAGE 
将一个仓库完全镜像迁移到另一个仓库，命令：

    gits migrate <source-url> <target-url>

USAGE
}

# 包括了只有一个参数是 --help 的情况
if [ $# != 2 ]; then
    print_help
    exit
fi

source=$1
target=$2

if [ $source = $target ]; then
    echo '迁移的两个仓库一致，退出！' >&2
    exit 1
fi

tempdir=$(mktemp -u)
git clone --bare $source $tempdir
cd $tempdir
git push --mirror $target
rm -rf $tempdir
